import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
import {request}from './network/request.js'


Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

// 基本使用
axios({
  url: 'http://152.136.185.210:7878/api/m5/home/multidata',
  // url ？带过去的参数 代表传递过去的参数
  params: {},
  // 提交方式 get/post?
  method:'get',
}).then(res => {
  console.log('简单使用');
  console.log(res);
})


// axios全局配置
axios.defaults.baseURL = 'http://152.136.185.210:7878/api/m5';
axios.defaults.timeout = 5000

// 发送并发请求 两个请求的结果都拿到了之后再进行下一步操作
axios.all([
  axios({
    url: '/home/multidata',
  }),
  axios({
    url: '/home/data',
    params: {
      type: 'sell',
      page:5
    }
  })
]).then(res => {
  console.log('这个是并发请求demo----------');
  console.log(res);
  console.log(res[0]);
  console.log(res[1]);
})


// 创建axios实例 每个实例对应独有的配置
// 如果有其他不同配置的请求，再创建多一个新的
const axiosinstance =axios.create({
  baseURL: 'http://152.136.185.210:7878/api/m5',
  timeout: 5000
})

axiosinstance({
  url:'/home/multidata'
}).then(res => {
  console.log(res);
})

axiosinstance({
  url: '/home/data',
  params: {
    type: 'pop',
    page:1
  }
}).then(res => {
  console.log(res);
})

// 演示请求拦截器
axiosinstance.interceptors.request.use(config => {
  console.log('lanjieqi');
   console.log(config);
}, err => {
  console.log(err);
 })

// 演示引用netweork main.js里面的axios进行网络请求
request({
  url:'home/multidata'
}).then(res => {
  console.log('下面的是引用main.js的结果');
  console.log(res);
}).catch(err => {
  console.log('出错了');
  console.log(err);
})

